package com.uacp.sgb.vista.util;

import java.io.Serializable;
import java.sql.Connection;
import java.util.HashMap;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;

import com.uacp.sgb.datos.dominio.entidades.Dependencia;
import com.uacp.sgb.datos.dominio.entidades.*;
import com.uacp.sgb.datos.dominio.persistencia.util.UtilBaseDatos;

public class UtilReportes implements Serializable
{
	public static void generarReporteEquipos(Dependencia dependencia, Expediente expediente)
	{
		String fileName = "C:\\Users\\David\\workspace2\\SistemaSGB\\WebContent\\resources\\ft_equipo.jasper";
		String outFileName = "C:\\Users\\David\\workspace2\\SistemaSGB\\WebContent\\resources\\ft_equipo.pdf";
		
		Connection conexion = UtilBaseDatos.getConexion();
		HashMap hm = new HashMap();
		
		try 
		{
			hm.put("facultad", dependencia.getNombre());
			hm.put("informe", expediente.getNumero());
			
			JasperPrint print = JasperFillManager.fillReport(fileName, hm, conexion);
			
			JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();
			exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
					outFileName);
			exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
			exporter.exportReport();
			
		} catch (JRException e) {
			e.printStackTrace();
			System.exit(1);
		} catch (Exception e) {
			e.printStackTrace();
			System.exit(1);
		}
		
		System.out.println("Exportacion de reporte de equipos correcta");
	}
	public static void generarReporteMuebles(Dependencia dependencia, Expediente expediente)
	{
		String fileName = "C:\\Users\\David\\workspace2\\SistemaSGB\\WebContent\\resources\\ft_mueble.jasper";
		String outFileName = "C:\\Users\\David\\workspace2\\SistemaSGB\\WebContent\\resources\\ft_mueble.pdf";
		
		Connection conexion = UtilBaseDatos.getConexion();
		HashMap hm = new HashMap();
		
		try 
		{
			hm.put("facultad", dependencia.getNombre());
			hm.put("informe", expediente.getNumero());
			
			
			JasperPrint print = JasperFillManager.fillReport(fileName, hm, conexion);
			
			JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();
			exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
					outFileName);
			exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
			exporter.exportReport();
			
		} catch (JRException e) {
			e.printStackTrace();
			System.exit(1);
		} catch (Exception e) {
			e.printStackTrace();
			System.exit(1);
		}
		
		System.out.println("Exportacion de reporte de muebles correcta");
	}
	
	public static void generarReporteMuebles_informe(Dependencia dependencia, Expediente expediente )
	{
		String fileName = "C:\\Users\\David\\workspace2\\SistemaSGB\\WebContent\\resources\\MUEBLES_INFORME.jasper";
		String outFileName = "C:\\Users\\David\\workspace2\\SistemaSGB\\WebContent\\resources\\MUEBLES_INFORME.pdf";
		
		Connection conexion = UtilBaseDatos.getConexion();
		HashMap hm = new HashMap();
		
		try 
		{
			hm.put("facultad", dependencia.getNombre());
			hm.put("informe", expediente.getNumero());
			JasperPrint print = JasperFillManager.fillReport(fileName, hm, conexion);
			
			JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();
			exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
					outFileName);
			exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
			exporter.exportReport();
			
		} catch (JRException e) {
			e.printStackTrace();
			System.exit(1);
		} catch (Exception e) {
			e.printStackTrace();
			System.exit(1);
		}
		
		System.out.println("Exportacion de reporte de muebles correcta");
	}
	
	public static void generarReporteEquipos_informe(Dependencia dependencia, Expediente expediente)
	{
		String fileName = "C:\\Users\\David\\workspace2\\SistemaSGB\\WebContent\\resources\\EQUIPOS_INFORME.jasper";
		String outFileName = "C:\\Users\\David\\workspace2\\SistemaSGB\\WebContent\\resources\\EQUIPOS_INFORME.pdf";
		
		Connection conexion = UtilBaseDatos.getConexion();
		HashMap hm = new HashMap();
		
		try 
		{
			hm.put("facultad", dependencia.getNombre());
			hm.put("informe", expediente.getNumero());

			
			JasperPrint print = JasperFillManager.fillReport(fileName, hm, conexion);
			
			JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();
			exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
					outFileName);
			exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
			exporter.exportReport();
			
		} catch (JRException e) {
			e.printStackTrace();
			System.exit(1);
		} catch (Exception e) {
			e.printStackTrace();
			System.exit(1);
		}
		
		System.out.println("Exportacion de reporte de equipos correcta");
	}
	
	
}
